Lab 05b - Docker

Docker

Instalacja

Może nie być wymagana w laboratorium.

  1. Usunięcie starszych wersji Dockera:

    sudo apt remove docker docker-engine docker.io containerd runc
  2. Zaktualizuj i zainstaluj wymagane pakiety:

    sudo apt update
    
    sudo apt install ca-certificates curl gnupg lsb-release
  3. Dodaj oficjalny klucz GPG Dockera:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  4. Skonfiguruj stabilne repozytorium Dockera:

    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Powyższe kroki i dalsza dokumentacja jest dostępna również tutaj.

Polecenia Dockera

Wylistowanie obrazów Dockera

docker images

Wylistowanie wszystkich kontenerów Dockera

docker ps -a

Uruchomienie kontenera

docker start <nazwa_kontenera>

Uruchomienie interaktywnej powłoki bash w kontenerze

docker exec -it <nazwa_kontenera> bash

Utworzenie nowego kontenera i uruchomienie interaktywnej powłoki bash w tym kontenerze

docker run -it <nazwa_kontenera> bash

Skopiowanie pliku z hosta do kontenera

docker cp path/to/file/on/host <nazwa_kontenera>:path/to/file/in/container

Skopiowanie pliku z kontenera na hosta

docker cp <nazwa_kontenera>:path/to/file/in/container path/to/file/on/host

Wyświetlenie listy woluminów

docker volume ls

Tworzenie woluminu

docker volume create my_volume

Usunięcie woluminu

docker volume rm my_volume

🛠🔥 Zadanie 1 🛠🔥

Przeczytaj Docker’s get started (w sumie 10 części).

🛠🔥 Zadanie 2 🛠🔥

Dokonaj konteneryzacji aplikacji z poprzednich zajęć. Aplikacja powinna używać bind mounts do zapisu do pliku znajdującego się w systemie plików hosta.

Uruchom aplikację i sprawdź logi. Spróbuj włączyć autostart z uruchomieniem systemu dla swojego kontenera.

🛠🔥 Zadanie 3 🛠🔥

Zamiast montowaniu katalogu z systemu hosta można wykorzystać wolumin Dockerowy. Wykonaj poniższe polecenia.

Zastanów się, czy po usunięciu kontenera nadal jest możliwe odczytanie tekstowego pliku, który wcześniej utworzyłeś.

Po zastanowieniu, sprawdź w konsoli Poniższe polecenie spowoduje automatyczne usunięcie po uruchomieniu kontenera i odczytaniu pliku tekstowego.

docker run --rm -v my_volume:/data ubuntu cat /data/hello.txt